System and method for automatically forwarding a communication message

ABSTRACT

The invention is a data network system ( 110 ) and method for forwarding a communication message intended for one device to another device. A target user of a target device (one of  102 - 108 ) configures configuration data of the target device for the system. The configuration information includes one or more forwarding lists in which each forwarding list identifies at least one next device (another one of  102 - 108 ). The system then receives ( 204 ) a communication message from an originating device (yet another one of  102 - 108 ) and retrieves ( 206 ) configuration data of the target device. Next, the system determines ( 208 ) whether the target device is available for interactive communication with the originating device based on the configuration data. If the target device is available for interactive communication with the originating device, then the system routes ( 210 ) the communication message to the target device. On the other hand, if the target device is unavailable for interactive communication with the originating device, then the system forwards ( 228 ) the communication message to a particular next device identified by the forwarding list.

FIELD OF THE INVENTION

The present invention relates generally to the field of messagingsystems and, more particularly, to an instant messaging system andmethod for automatically forwarding a communication message intended forone client device to another client device.

BACKGROUND OF THE INVENTION

An instant messaging (“IM”) system generally includes a plurality ofclient devices coupled to a server or servers of a data network. Theclient devices typically provide the ability to track and display thepresence status of other users connected to the server of the datanetwork. Presence status about other users is organized into contactlists or buddy lists. Each entry in the contact list corresponds to auser of the IM system, or more specifically the user's client device,and includes presence status associated with each entry. Users of theclient devices desire up-to-date presence status about the members oftheir contact list. Although presence information may be passed on aclient device, more typically the presence information is associatedwith a predetermined presence status, such as online or off-line, thatis passed on to the client device.

IM systems are designed to handle real-time communications betweenclient devices and do not typically provide features for dealing withunavailable users. IM users are expected to contact users on theircontact lists who are available to communicate while ignoring otherusers who are not available. Thus, IM systems generally are not designedto provide automatic forwarding of incoming messages when an intended,target user is not available.

E-mail systems are known to automatically forward incoming e-mailmessages, whether or not the target users are available. For example,the Microsoft® Outlook® application by Microsoft Corporation of Redmond,Wash., includes an “Out of Office Assistant” feature that receives anincoming e-mail message intended for one e-mail address and forwards itto another e-mail address. The Outlook application is capable ofdiscerning the type of incoming e-mail messages that should be forwardedto the other e-mail address based on information contained within theincoming e-mail messages. Thus, such-e-mail servers and applications arelimited since their forwarding decisions are based only on informationcontained within each incoming e-mail message.

Accordingly, there is a need for a more informative system forcommunicating among users and their client devices. More particularly,there is a need for a messaging system that provides automaticforwarding of messages intended for a target device based on additionalconfiguration data, particularly information about the originatingand/or target device, as well as the incoming messages themselves.

SUMMARY OF THE INVENTION

The present invention is a method for forwarding a communication messageintended for one device to another device. Initially, a target clientdevice or, more particularly, a target user, configures configurationdata of the target client device for the system. The configurationinformation includes one or more forwarding lists in which eachforwarding list identifies at least one next device. The system thenreceives a communication message from an originating client device andretrieves configuration data of the target client device. Next, thesystem determines whether the target client device is available forinteractive communication with the originating client device based onthe configuration data. If the target device is available forinteractive communication with the originating device, then the systemroutes the communication message to the target device. On the otherhand, if the target device is unavailable for interactive communicationwith the originating device, then the system forwards the communicationmessage to a particular next device identified by the forwarding list.

The present invention is also a data network system for forwarding aselect message communicated by a mobile station to at least one othermobile station. The data network system comprises a messaging server anda messaging proxy coupled to the messaging server. The messaging servercommunicates with a plurality of devices and is capable of routing acommunication message from an originating device to a target device. Themessaging proxy has access to a database that includes a forwarding listof the target device that identifies at least one next device. Also, themessaging proxy determines whether the target device is available forinteractive communication with the originating device. If the targetdevice is available for interactive communication with the originatingdevice, then the messaging proxy routes the communication message to thetarget device. On the other hand, if the target device is unavailablefor interactive communication with the originating device, then themessaging proxy forwards the communication message to a particular nextdevice identified by the forwarding list.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram representing a wireless communication systemthat may be adapted to operate in accordance with the preferredembodiment of the present invention.

FIG. 2 is a flow diagram representing first and second preferred methodsfor forwarding text messages that may be adapted to operate inaccordance with the preferred embodiment of FIG. 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention is a data network system and method forautomatically forwarding communication messages intended for a targetdevice to a different device when the target device is unavailable. Apotential target user may use a client application to configure aforwarding list of one or more users and define rules that would promptthe system to forward the message to another device. This clientapplication may be stored on the target user's device or a datacommunication network communicating with the target user's device. Ifthe configuration information of the forwarding list is generated withinthe device, then the configuration information is transmitted to aserver or proxy of the data communication network after the target userprepares it.

As stated above, the data network system determines whether a targetdevice is available or unavailable. A target device is considered to beunavailable if one or more pre-configured rules, configured by a targetuser of the target device, apply to a given situation. Preferably, thetarget user configures one or more forwarding lists and rules for all,or substantially all, possible situations in which the target devicewould be unavailable. For example, a target device would configureforwarding lists and rules for situations where the target device isoff-line or otherwise cannot provide a real-time response to incomingcommunication messages. The target device may not be able to provide areal-time response for various reasons, such as being outside of adefined area or being manually set by the target user as unavailable. Onthe other hand, a target device is considered to be available if none ofthe pre-configured rules configured by the target user apply to thegiven situation. For example, a target device would not configureforwarding lists and rules for situations where the target device isonline and can provide a real-time response to incoming communicationmessages.

In a situation where the target device is off-line, the target device isnot available regardless of whether a pre-configured rule exists of suchsituation. If the target user has not configured a forwarding list for asituation where the target device is off-line, then the incomingcommunication message is withheld from the target device and is notforwarded to any other device.

Whenever a target user or, more specifically, the associated targetdevice is not available to receive an incoming message, the systemforwards the message to another or next device. In particular, thesystem reads the forwarding list until the system finds another or nextuser that is available and, then, forwards the message to the availablenext user. Preferably, the system reads the forwarding list user-by-useror device-by-device in order of priority specified by the target user.The forwarded message is, thus, displayed to the next user of the nextdevice in its original form or in a modified form as modified by thesystem. Thereafter, interactive communication is conducted in real-timebetween an originating user of the originating device and a next user ofthe next device.

As stated above, a target user may prepare one or more forwarding listsand corresponding rules that specify conditions that prompt the systemto forward the communication message. Examples of forwarding listsinclude, but are not limited to, co-workers or business associates(e.g., “work buddies”), social eating and/or drinking companions (e.g.,“beer buddies”), and acquaintances sharing a common hobby or interest(e.g., “golf buddies” and “daycare buddies”). In the particular case ofan instant messaging system, a contact or buddy list may be used as aforwarding list.

Referring to FIG. 1, there is shown a preferred embodiment of the datanetwork system of the present invention. The preferred embodimentincludes a plurality of client devices 102, 104, 106, 108 associatedwith a data communication network 110. For purposes of illustration, thecommunication network 110 includes a messaging server 112, two radiosubnetworks (namely subnetwork #1 114 and subnetwork #2 116), andconnectivity network 118 between the client devices 102, 104, 106, 108and the messaging server. It is to be understood that the presentinvention may also be applied to a different configuration of clientdevices and a communication network, such as a plurality of servers orconnection to a wired network. The client devices 102, 104, 106, 108 andthe messaging server 112 each include a processor for general operationof the messaging server and a memory for storage of applications anddata.

For the example represented by the preferred embodiment, the four clientdevices 102, 104, 106, 108 are labeled User A, User B, User C, and UserD respectively. User A's client device 102 is on a separate radiosubnetwork 114 from the subnetwork 116 of the other client devices 104,106, 108. User B's, User C's and User D's client devices 104, 106, 108can receive communications sent by a base station of subnetwork #2 116and are on a separate radio subnetwork 114 from User A's client device102. In practical situations, there will be many more radios, subnetsand contact lists (or buddy lists).

The client devices 102, 104, 106, 108 of the preferred embodiment shownin FIG. 1 are radiotelephones for communication using a wirelesscommunication system, such as a standard cellular telephone system.Although the preferred embodiment described herein utilizesradiotelephones, one skilled in the art will recognize that the featuresdiscussed will also find application in other types of client devicessuch as cordless telephones, personal digital assistants, two-wayradios, pagers, portable computers, multi-functional communicationdevices and the like.

The preferred embodiment also includes a messaging proxy 120 thatoperates on behalf of a user by establishing a connection to themessaging server 112 and operating accordingly. The messaging proxy iscoupled to one or both of the following components: the messaging server112 and the connectivity network 118. As shown in FIG. 1, the messagingproxy 120 may run from an independent server to act as the user and beinvoked by the user as needed. Also, the messaging proxy 120 can operateas a gateway proxy to maintain a persistent connection on the user'sbehalf. All messaging traffic is communicated through the gateway andenabled by the user directly, such as enabling an “offline” mode whileremaining on the network, or automatically if the gateway proxy isunable to communicate with the user's client device. In the alternative,the messaging proxy 120 may be incorporated within the messaging server112, thus the messaging proxy and messaging server act as a single unit.

Each client device 102, 104, 106, 108 includes at least one contact list122, 124, 126, 128 (a.k.a. a buddy list) that is capable of identifyingone or more of the other client devices connected to the communicationnetwork 110. Each contact list 122, 124, 126, 128 may identify none orat least one of the client devices 102, 104, 106, 108 connected to thecommunication network 110. A particular client device 102, 104, 106, 108would include a contact list 122, 124, 126, 128 that identifies otherclient devices, but the contact list would not identify the particularclient device itself. In FIG. 1, the contact lists 122, 124, 126, 128are shown beneath the client devices 102, 104, 106, 108. However, forthe present invention, each contact list 122, 124, 126, 128 is stored ina memory of the respective client device 102, 104, 106, 108, orcollectively stored in a memory located in the communication network110. For the preferred embodiment, the contact lists 122, 124, 126, 128are stored in a memory of the messaging server 112. The contact lists122, 124, 126, 128 may also identify a group or collection of users inaddition to, or instead of, individual users. In addition, each clientdevice 102, 104, 106, 108 may have more than one contact list.

For the preferred embodiment, users of the client devices 102, 104, 106,108 utilize client software stored by the client devices that offer theability to track and display the presence status of other usersconnected to the communication network 110. Each entry of the contactlists 122, 124, 126, 128 corresponds to another user or, moreparticularly, another client device 102, 104, 106, 108 connected to thecommunication network 110. Information about the user and/or clientdevice 102, 104, 106, 108 may be associated with each entry including,but not limited to, presence information such as online status (e.g.,available to communicate), off-line status (e.g., unavailable), locationattribute & capabilities, device attributes & capabilities,communication network attributes & capabilities (e.g., network resourceavailability). Presence information is generally dynamic in nature,changing over time based on various factors and conditions. Thus,updates to the presence information must be transmitted to relevantclient devices 102, 104, 106, 108 to update their respective contactlists 122, 124, 126, 128.

In some environments, a collection of users may have similar, if notidentical, contact lists 122, 124, 126, 128. For example, a circle offriends may list each other in their contact lists 122, 124, 126, 128,possibly along with other people. In a work environment, work teammembers may include each other in their contact lists 122, 124, 126,128, such as a “work buddies” contact list. In some work teamenvironments, the contact lists 122, 124, 126, 128 will be identicalamongst all members of the team.

The preferred embodiment may further include a location register 130,such as a mobile switching center (“MSC”) and/or a visitor locationregister (“VLR”). The location register 130 is coupled to at least oneof the components: the messaging server 112, the connectivity network118 and the messaging proxy 120. The location register 130 is capable ofrouting calls to and from the client devices 102, 104, 106, 108 as wellas tracking location information of the client devices. The locationregister 130 may determine location information, directly or indirectlyvia the client devices 102, 104, 106, 108, using a variety of techniquesincluding, but not limited to, a global positioning system (“GPS”)technique, a forward link trilateration (“FLT”) technique, an advancedforward link trilateration (“AFLT”) technique, an amplitude differenceangle of arrival (“AD-AOA”) technique, and an enhanced observed timedifference (“EOTD”) technique. The location register 130 may alsodetermine the positions of the client devices 102, 104, 106, 108 fromanother entity via a wireless communication link, such as Bluetooth™wireless technology which is supported by the Bluetooth™ SpecialInterest Group, HomeRF™0 which is supported by the HomeRF™ WorkingGroup, and Wi-Fi (IEEE 802.11b) which is supported by the Institute ofElectrical and Electronics Engineers and the Wireless EthernetCompatibility Alliance.

Referring to FIG. 2, there is provided a first preferred method forforwarding communication messages that may be adapted to operate inaccordance with the first preferred embodiment described above. Beforethe first preferred method shown in FIG. 2 is executed, one or moreforwarding lists and corresponding rules are generated for a particulardevice. The forwarding lists may be custom-tailored by each individualuser of a device.

The forwarding lists and corresponding rules for the target device aredirected to situations where the target user is unavailable. Byreviewing the presence (such as online or off-line) of the target deviceand the identity of the originating device, as defined by theconfiguration data of the target device, the system may determinewhether the target device is available. More particularly, if the targetdevice is off-line or if the target device is online and the originatingdevice belongs in an applicable forwarding list, then the target deviceis considered to be unavailable. Otherwise, if the target device isonline and the originating device does not belong to an applicableforwarding list, then the target device is considered to be available.

After initiating the first preferred method at step 202, the messagingproxy 120 receives a communication message from an originating device,such as client devices 102, 104, 106, 108, in step 204. Although themessaging proxy 120 is described herein as performing the steps of thepreferred methods of the present invention, it is to be understood thatthese steps (or a portion thereof) may be performed in conjunction with,or instead by, the messaging server 112.

Next, in step 206, the messaging proxy 120 retrieves configuration dataof the target device from a database. The database may be located at themessaging server 112, the messaging proxy 120, or shared between the twocomponents. For the first preferred embodiment, the database is locatedat the messaging proxy 120. The configuration data includes one or moreforwarding lists and corresponding rules configured by the target devicein advance of executing the steps shown in FIG. 2. In addition, themessaging proxy 120 determines the status of the originating device, thestatus of the target device or the statuses of both devices, whicheverstatus information is necessary to determine the availability of thetarget device. For the first preferred method, the messaging proxy 120determines the presence of the target device and is capable determiningthe identity of the originating device at step 206. However, for thefirst preferred method, the identity of the originating device isdetermined from the communication message received at step 204.

The messaging proxy 120 then determines, at step 208, whether the targetdevice is available for interactive communication by comparing theretrieved status information against the retrieved configuration data.For the first preferred method, the messaging proxy 120 is abledetermine that the target device is available when the target device isonline and the originating device does not belong to an applicableClassification. The target device is not available when the device isoff-line or the originating device belongs in an applicable forwardinglist. If the target device is available, then the messaging proxy 120will deliver the communication message to the target device at step 210.Thereafter, the method terminates at step 212.

The preferred methods described herein also provide one or more privacyfeatures for the originating device, the target device and each nextdevice. These privacy features are beneficial to these devices and areoptional for the data network system. Thus, referring to step 214, ifthe target device is not available, then the messaging proxy 120determines whether the originating device allows forwarding of messages.Preferably, the status information of the originating device, retrievedat step 206, indicates whether the originating device allows forwardingof messages. If the originating device does not allow forwarding, thenthe communication message is not forwarded as provided by step 216 andthe method terminates at step 212.

If the originating device allows forwarding, then the messaging proxy120 determines whether an existing forwarding list present in thedatabase includes a subject device (i.e., the originating device ortarget device) and/or its corresponding user in step 220. Preferably,the subject device is the target device and the forwarding list is acontact list of the originating devices and/or users. However, in thealternative, the subject device may be the originating device and theforwarding list may be a contact of the target devices and/or users. Ifnone of the forwarding lists includes the subject device or itscorresponding user, then the messaging proxy 120 does not forward themessage as represented by step 222 and the method terminates at step212. Otherwise, if one or more forwarding lists includes the subjectdevice or its corresponding user, then the messaging proxy 120identifies the next user or device from the appropriate forwarding listin step 224. If more than one forwarding list includes the subjectdevice or its corresponding user, then the messaging proxy 120 wouldselect the first forwarding list available. Also, at step 224, themessaging proxy 120 retrieves status information of the next device.

After identifying the next user or device, the messaging proxy 120determines whether the identified next user or device is available forinteractive communication in step 226. Preferably, the availability ofthe next user or device is determined from the status information of thenext device retrieved at step 224. For the first preferred method, thenext device and corresponding user is considered to be available whenthe next device is online, and the next device and corresponding user isnot considered to be available when the next device is off-line. If theidentified next user or device is available, then the communicationmessage is forwarded to the available next user or device and the methodterminates at step 212.

If the identified next user or device is not available, then themessaging proxy 120 determines whether other users or devices (who orwhich have not yet been identified) are still in the forwarding list instep 230. If other users or devices are not in the forwarding list, thenthe communication message is not forwarded as provided by step 216 andthe method terminates at step 212. On the other hand, if other users ordevices are in the forwarding list, then the messaging proxy 120 selectsanother next user or device from the forwarding list in step 224 anddetermines whether the selected next user or device is available in step226. If the most recent next user is available, then the messaging proxy120 executes steps 228 and 212. Otherwise, the messaging proxy 120repeats steps 224, 226 and 230 as necessary until step 212 is reached.

FIG. 2 also represents a second preferred method for forwardingcommunication messages that may be adapted to operate in accordance withthe preferred embodiment described above. Similar to the first preferredmethod, one or more forwarding lists and corresponding rules aregenerated for a particular device for the second preferred method. Also,similar to the first preferred method, it is to be understood that thesesteps (or a portion thereof) may be performed by the messaging proxy102, the messaging server 112 or both the proxy and server. It isimportant to note that the first preferred method determinesavailability based on rules for configuration of the originating device,namely the identity of the originating device, whereas the secondpreferred method determines availability based on rules forconfiguration of the target device, namely the location of the targetdevice. Thus, for the present invention, availability of the targetdevice may be determined by one or more rules for configuration of theoriginating device and/or one or more rules for configuration of thetarget device.

Although the second preferred method is substantially similar to thefirst preferred method described above, the second preferred methodincludes an additional condition, namely location, for determiningwhether the target device is available. Rules for forwarding lists maybe configured to include as many conditions as desired by the user. Byreviewing the presence and location of the target device, as defined bythe configuration data of the target device for the second preferredmethod, the system may determine whether the target device is available.An example of such information provided in the configuration data of thetarget device is represented below in Table 2.

TABLE 1 Rules For The Forwarding List of The Second Preferred MethodReported Forwarding Presence Location Status Status Action Online Region1 Available Available Message Sent (e.g., To Target Home Area) Device.Online Region 2 Available Available Message Sent (e.g., To Target WorkArea) Device. Online Region 3 Available Unavailable Message (e.g.,Forwarded To Out-of-town) Next Device. Off-line <None> UnavailableUnavailable Message Forwarded To Next Device. *Assumes Forwarding ListPresent For The Subject User.

By reviewing the presence and the location of the target device, asdefined by the configuration data of the target device, the system maydetermine whether the target device is available. More particularly, ifthe target device is off-line or if the target device is online and islocated in a region where it is not available (for second preferredmethod, Region 3), then the target device is considered to beunavailable and the communication message is forwarded. Otherwise, ifthe target device is online and is located in a region where it isavailable (for the second preferred method, Regions 2 and 3), then thetarget device is considered to be available and the communicationmessage is sent to the target device.

Table 1 above provides a reported status and a forwarding status. Thereported status is provided to devices that desire to know the status ofthe target device, whereas the forwarding status is utilized by themessaging proxy 120 to determine whether to send an incomingcommunication message to the target device or forward it to a nextdevice. Also, the reported status corresponds to the presenceinformation and is not updated based on the location information. Theforwarding status is known by the messaging proxy 120 but is not knownby other devices, including the originating device. For the secondpreferred method, the target device is actually available forinteractive communication in Regions 1 and 2 if it is online, but thetarget device is not available for interactive communication in Region3.

Although most steps of the second preferred method have operationssimilar to the first preferred method, certain steps are different. Inparticular, the messaging proxy 120 determines the presence and locationof the target device at step 206. The messaging proxy 120 thendetermines, at step 208, whether the target device is available forinteractive communication by comparing the retrieved status informationagainst the retrieved configuration data. For the second preferredmethod, the messaging proxy 120 is able determine that the target deviceis available when the target device is online and is located in Region 1or Region 2. The target device is not available when the target deviceis off-line or the target device is located in Region 3.

Likewise, location information is used to determine the availability ofa next device at step 226. The messaging proxy 120 determines whetherthe identified next user or device is available for interactivecommunication at step 226. Preferably, the availability of the next useror device is determined from the status information of the next deviceretrieved at step 224. For the second preferred method, the next deviceand corresponding user is considered to be available when the nextdevice is online and is located in Region 1 or Region 2, and the nextdevice and corresponding user is not considered to be available when thenext device is off-line or is located in Region 3. Otherwise, as statedabove, steps of the second preferred method have operations similar tothe first preferred method.

The preferred embodiment described above permits a user to establishmore than one separate forwarding list. For example, a user may generatea “golf buddies” list to forward messages among certain golfers, and a“daycare buddies” list to forward message among certain daycare parents.Thus, if an originating user of an originating device desires someone topick-up his or her son from daycare early, only parents from the“daycare buddies” list would be presented with the particular requestfrom the originating user.

As stated above in reference to FIG. 2, the present invention alsoprovides privacy features for the originating device, the target deviceand each next device. For example, if an originating user does notdesire to have his or her messages forwarded, the originating user may,via the originating device, inform the messaging server and/or messagingproxy 120 accordingly or manage them on a message-by-message basis. Ifthe originating device informs the messaging server 112 and/or messagingproxy 120 accordingly, the messaging server and/or messaging proxy wouldnot forward messages from the originating user. If managed on amessage-by-message basis, the user may mark specific messages as privateor be queried by the messaging server 112 and/or messaging proxy 120.For example, the messaging proxy 120 may send a message to theoriginating device stating, “User is not available. Would you like tohave your message forwarded?” The message would not be forwarded unlessan affirmative response is received from the originating device.

The present invention may also provide privacy of the target user. Forexample, the messaging server 112 and/or messaging proxy 120 may requireauthorization to be received from a next user if a target user desiresto add the next user to his or her forwarding list.

The present invention further includes the ability to modify receivedmessages before forwarding them to another user and, likewise, modifyingresponses to forwarded message. For example, for the privacy of theother or next users, the next users may desire to respond to theoriginating user without disclosing their identity. For example, themessaging server 112 and/or messaging proxy 120 may represent a nextuser as a “friend of User A” instead of by his or her actual identity.Also, for example, the messaging server 112 and/or messaging proxy 120may add an instruction of the next user, including the next user'sidentity, to let the originating user know why someone other than thetarget user is sending the response.

As another example, User A may try to send a communication message toUser D. User D's forwarding list includes Users A, B and C with theusers listed in that particular order. If User D is not available, themessaging server 112 and/or messaging proxy 120 performs a presencecheck of User B (the next user on User D's forwarding list) to determinewhether the message may be re-routed to User B. In reviewing theforwarding list, the messaging server 112 and/or messaging proxy 120ignore User A, since User A is the originator of the communicationmessage. If User B is available, then the message is directed to User Binstead of User D. Accordingly, the following sequence of messageexchanges may occurs:

-   -   User A to User D: “where are we meeting later?”    -   Server/Proxy of User D receives the message, determines that        User D is not available, retrieves User D's forwarding list        which identifies Users B and C (in addition to User A), and        determines that User B is the next device and is available.    -   Server/Proxy of User D to User B: “from <User A> for <User        D>—where are we meeting later?”    -   User B to Server/Proxy of User D: “planning on going to usual        place.”    -   Server/Proxy of User D to User A: “from <User B> for <User        D>—planning on going to usual place.”

Since all messaging traffic passes through the messaging server 112and/or messaging proxy 120, the messaging server and/or messaging proxymay also block or obscure user identities as well. In the example above,it is possible for Users A and B to exchange messages without knowingeach other's identities since all messages may be directed to User D.Thus, the indicators for <User A> and <User B> above may be replaced bygeneric words such as “friend”, “buddy”, “another user”, and the like.

While the preferred embodiment of the invention has been illustrated anddescribed, it is to be understood that the invention is not so limited.Numerous modifications, changes, variations, substitutions andequivalents will occur to those skilled in the art without departingfrom the spirit and scope of the present invention as defined by theappended claims.

1. A method for a data network system for forwarding a communication message intended for a target device associated with a target user to another device, the method comprising the steps of: receiving a communication message from an originating device; retrieving configuration information and presence information of the target device, the configuration information including a forwarding list identifying at least one next device; determining whether the target device is available for text messaging with the originating device based on the presence information; routing the communication message to the target device if the target device is available for text messaging with the originating device; and forwarding the communication message to a particular next device, associated with a next user, of the at least one next device of the forwarding list if the target device is unavailable for text messaging with the originating device, wherein the forwarding list is a contact or buddy list for an instant messaging system.
 2. The method of claim 1, further comprising the step of configuring the configuration data of the target device before the step of receiving the communication message from the originating device.
 3. The method of claim 1, further comprising the step of retrieving status information of at least one of the originating device and the target device, wherein the step of determining whether the target device is available for text messaging includes the step of comparing the status information against the configuration data to determine whether the target device is available for text messaging.
 4. The method of claim 3, wherein the status information includes a location of the target device.
 5. The method of claim 1, further comprising the step of determining whether the originating device is present on the forwarding list.
 6. The method of claim 1, further comprising the step of identifying the particular next device as having a highest priority among the at least one next device of the forwarding list.
 7. The method of claim 1, further comprising the steps of: determining that the particular next device is not available to receive the communication message; and selecting another next device of the at least one next device.
 8. The method of claim 7, further comprising the step of forwarding the communication message to the another next device, instead of the particular next device, if the another next device is available for text messaging with the originating device.
 9. The method of claim 1, wherein the forwarding list identifies next devices in order of priority as pre-configured for the target device.
 10. The method of claim 1, wherein the forwarding list identifies next devices in order of priority based on a proximity of the next devices relative to one of either the originating device or the target device.
 11. The method of claim 1, further comprising the step of prohibiting, by the originating device, forwarding of messages, received from the originating device, to other devices.
 12. The method of claim 1, further comprising the step of receiving authorization from the originating device before forwarding the communication message to the particular next device.
 13. The method of claim 1, further comprising the step of identifying a mark, by the originating device, in the communication message indicating that the communication message may not be forwarded to other devices.
 14. The method of claim 1, further comprising the step of receiving authorization from the particular next device before the target device adds the particular next device to the forwarding list.
 15. The method of claim 1, further comprising the step of modifying the communication message before forwarding the communication message to the particular next device.
 16. The method of claim 15, wherein the communication message is modified to prevent the communication message from divulging an identity of the originating device to the particular next device.
 17. A data network system for forwarding a select message communicated by a mobile station to at least one other mobile station, the data network system comprising: a messaging server for communicating with a plurality of devices, the messaging server being capable of routing a communication message from an originating device to a target device associated with a target user; and a messaging proxy coupled to the messaging server, the messaging proxy having access to a database that includes a forwarding list of the target device that identifies at least one next device, the messaging proxy being effective to determine whether the target device is available for text messaging with the originating device based on presence information of the target device, route the communication message to the target device if the target device is available for text messaging with the originating device, and forward the communication message to a particular next device of the at least one next device of the forwarding list if the target device is unavailable for text messaging with the originating device, the forwarding list is a contact or buddy list for an instant messaging systems, wherein the messaging proxy selects a next user from the forwarding list until an available next user is found.
 18. The data network system of claim 17, wherein the messaging proxy is incorporated within the messaging server.
 19. The method of claim 17, wherein the database is stored in the messaging server.
 20. The method of claim 17, wherein the database is stored in the messaging proxy.
 21. The data network system of claim 17, wherein the messaging proxy determines that the originating device allows forwarding of messages.
 22. The data network system of claim 17, wherein the forwarding list identifies next devices in order of priority as pre-configured for the target device.
 23. The data network system of claim 17, wherein the forwarding list identifies next devices in order of priority based on a proximity of the next devices relative to one of either the originating device or the target device. 